package com.xbongbong.paas.elasticsearch.pojo.dto;

import com.xbongbong.paas.enums.FieldTypeEnum;
import com.xbongbong.paas.enums.IndexTypeEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;

/**
 * 创建时间： 2018/10/30 19:40
 * 修改时间： 2018/10/30 19:40 梁鲁江
 *
 * @author 梁鲁江
 */
@Setter
@Getter
@ToString
public class TopHitsDTO implements Serializable {
    private static final long serialVersionUID = 3714482592226270222L;
    /**
     * 文档在哪存放
     */
    @NotEmpty
    String index;
    /**
     * 文档表示的对象类别
     */
    @NotEmpty
    String type;
    /***
     * 搜索的条件
     */
    @NotEmpty
    NativeSearchQuery searchQuery;
    /**
     * 搜索的字段
     */
    @NotEmpty
    String field;
    /**
     * 字段的枚举
     */
    @NotEmpty
    FieldTypeEnum fieldTypeEnum;
    /**
     * 返回长度 默认10
     */
    Integer size;
    /**
     * 查询字段
     */
    List<String> source;

    private Integer saasMark;

    private Integer businessType;

    public TopHitsDTO() {
        index = IndexTypeEnum.IDX_FORM_DATA.getIndex();
        type = IndexTypeEnum.IDX_FORM_DATA.getType();
        this.size = 10;
    }
}
